We describe a new parallel, non-orthogonal-grid, three-dimensional electromagnetic
particle-in-cell (EMPIC) code based on a finite-volume formulation. This code uses
a logically Cartesian grid of deformable hexahedral cells, a discrete surface integral
(DSI) algorithm to calculate the electromagnetic field, and a hybrid logical–physical
space algorithm to push particles. We investigate the numerical instability of the
DSI algorithm for non-orthogonal grids, analyse the accuracy for EMPIC simulations
on non-orthogonal grids, and present performance benchmarks of this code on
a parallel supercomputer. While the hybrid particle push algorithm has a second-order accuracy in space, the accuracy of the DSI field solve algorithm is between
first and second order for non-orthogonal grids. The parallel implementation of this
code, which is almost identical to that of a Cartesian-grid EMPIC code using domain
decomposition, achieved a high parallel efficiency of over 96% for large-scale
simulations.